#pragma once

#include "ArchToolDef.h"
#include "DlgArchiAppendAxis.h"

class PlaceArchAppendAxisTool :public PBBim::ToolSettingDgnPrimitiveTool
{
	DEFINE_T_SUPER(PBBim::ToolSettingDgnPrimitiveTool)
private:
	int m_AxisType;
	int m_AxisDirect;
	CString m_AxisName;
	double m_AxisHandleLength;
	bvector<DPoint3d>   m_points;
protected:
	virtual Utf8CP _GetToolId() const override { return PBBIM_PLACE_ARCHAPPENDAXIS; }
	virtual void _OnPostInstall() override;
	virtual void _OnRestartTool() override;
	virtual bool _OnDataButton(DgnButtonEventCP ev) override;
	virtual bool _OnResetButton(DgnButtonEventCP ev) override;
	virtual void _OnDynamicFrame(DgnButtonEventCP ev) override;
	virtual void _ExitTool() override;
	virtual void _OnReceive(Utf8CP messageType, JsonValueCR messageDataObj) override{};
	virtual bool _OnModelMotion(DgnButtonEventCP ev) override;

public:
	PlaceArchAppendAxisTool();
	~PlaceArchAppendAxisTool();

	void GetDlgAxisData();
};
